package co.com.corbeta.logica;

import java.util.Map;

import co.com.corbeta.constantes.Mensajes;
import co.com.corbeta.excepcion.LeerPropiedadesException;

/**
 * Clase que se encarga de generar el archivo
 * 
 * @author Diego A. Galindo
 * @since 1.0 17/07/2014
 * */
public class GenerarArchivo {
    /**
     * Main que se llama cuando se ejecuta el generar el archivo
     * */
    public static void main(String args[]) {
	if (args.length == 0) {
	    System.out.println(Mensajes.MENSAJE_PARAMETRO_RUTA_NO_ENCONTRADO
		    .getMensaje());
	} else {
	    String ruta = args[0];
	    leerArchivoPropieades(ruta);
	}
	System.out.println(Mensajes.MENSAJE_FINALIZACION_PROCESO.getMensaje());
    }

    /**
     * Metodo que seencarga de leer el archivo de propiedades
     * 
     * @param ruta
     *            Lista que contiene el string donde se encuentra
     * */
    private static void leerArchivoPropieades(String ruta) {
	try {
	    ArchivoProperties archivoProperties = new ArchivoProperties(ruta);
	    Map<String, String> propiedades = archivoProperties
		    .obtenerListaDePropiedades();
	    CrearArchivosPlanos crearArchivos = new CrearArchivosPlanos();
	    crearArchivos.crearArchivosPlanos(propiedades);
	} catch (LeerPropiedadesException e) {
	    System.out.println(e.getMessage());
	}
    }
}
